package com.ruicar.afs.cloud.afscase.mq.sender;

import com.ruicar.afs.cloud.common.modules.dto.mq.approveprev.ApprovePrevResultDto;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqClient;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqSender;
import com.ruicar.afs.cloud.common.mq.rabbit.message.AfsTransEntity;

/**
 * @Description
 * @Author Peng Jinbo
 * @Date 2020/08/08 14:04
 */
@AfsRabbitMqClient
public interface ApprovePrevSender {

    /**
     * Author Peng Jinbo
     * Send prev result to apply system *
     * 预审结果通知 进件系统
     *
     * @param resultInfo result info
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAlia}", queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueName.case}", exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeName}")
    void sendPrevResultToApplySystem(AfsTransEntity<ApprovePrevResultDto> resultInfo);

    /**
     * Author Peng Jinbo
     * Notice receive status *
     * 预审批信息接收状态
     *
     * @param resultInfo result info
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAlia}", queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueName.case}", exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeName}")
    void noticeReceiveStatus(AfsTransEntity<ApprovePrevResultDto> resultInfo);

}
